package socketTerminal;


import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

import conf.Configuracion;

import datatypes.DataTicketAnulado;
import datatypes.DataTicketAnular;
import entidades.Vendido;

public class Anulacion {

	/**
	 * @param args
	 */
	public DataTicketAnulado HacerAnulacion(DataTicketAnular msEnviar) throws ClassNotFoundException {
		String host 		= "localhost";//Configuracion.getInstance().getProperty(Configuracion.SERVIDOR_SOCKET_NOMBRE);
		int puerto 			= 9899;//Integer.parseInt(Configuracion.getInstance().getProperty(Configuracion.SERVIDOR_SOCKET_PUERTO));;
		Socket clientSocket = null;	
		DataTicketAnulado msRecibido =new DataTicketAnulado();
		try {						
			clientSocket 		= new Socket(host,puerto);			
			ObjectInputStream  	lectura;
			ObjectOutputStream 	escritura;
			escritura			= new ObjectOutputStream(clientSocket.getOutputStream());
		 	lectura 			= new ObjectInputStream (clientSocket.getInputStream());
		 	escritura.writeObject(msEnviar);		    
		    try {
				 msRecibido = (DataTicketAnulado)lectura.readObject();
			} catch (ClassNotFoundException e) {
				System.out.println("Error al castear un objecto no esperado");	
			}
			clientSocket.close();
		} catch (IOException e) {
			System.out.println("Error, no se pudo obtener una conexion con el Servidor"+e.toString());
		}
		return msRecibido;
	}
	
	public Vendido buscarTicket(long msEnviar) throws ClassNotFoundException {
		String host 		= "127.0.0.1";
		int puerto 			= 9899;
		Socket clientSocket = null;	
		Vendido msRecibido =null;
		try {						
			clientSocket 		= new Socket(host,puerto);			
			ObjectInputStream  	lectura;
			ObjectOutputStream 	escritura;
			escritura			= new ObjectOutputStream(clientSocket.getOutputStream());
		 	lectura 			= new ObjectInputStream (clientSocket.getInputStream());
		 	escritura.writeObject(msEnviar);		    
		    try {
				//if(lectura.readObject()!= null) 
		    	msRecibido = (Vendido)lectura.readObject();
				//else
				//	return null;
			} catch (ClassNotFoundException e) {
				System.out.println("Error al castear un objecto no esperado");	
			}
			clientSocket.close();
		} catch (IOException e) {
			System.out.println("Error, no se pudo obtener una conexion con el Servidor"+e.toString());
			e.printStackTrace();
		}
		return msRecibido;
	}
}
		
